package com.eastjet.maintenance.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 巡检计划表
 * @TableName device_patrolscheme
 */
@TableName(value ="device_patrolscheme")
@Data
public class DevicePatrolscheme implements Serializable {
    /**
     * 巡检计划编号
     */
    @TableId(type = IdType.AUTO)
    private Integer patrolschemeId;

    /**
     * 巡检计划编码
     */
    private String code;

    /**
     * 巡检计划名称
     */
    private String patrolschemeName;

    /**
     * 巡检计划状态(0-未开始 1-待审核 2-已审核 3-待实施 4-实施中 5-已关闭 6-驳回 )
     */
    private String patrolschemeType;

    /**
     * 计划类型(1-日计划 2-周计划 3-月计划 4-季计划 5-年计划)
     */
    private String patrolschemeDaytypeId;

    /**
     * 执行周期规则(device_execution表)
     */
    private Integer patrolschemeRule;

    /**
     * 计划开始时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date patrolschemeOntime;

    /**
     * 计划结束时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date patrolschemeUntime;

    /**
     * 点检班组
     */
    private String patrolschemeClass;

    /**
     * 点检人
     */
    private String patrolschemePerson;

    /**
     * 备注
     */
    private String notas;

    /**
     * 调整原因
     */
    private String cause;

    /**
     * 创建人
     */
    private String insertPerson;

    /**
     * 创建时间
     */
    private Date insertTime;

    /**
     * 更新人
     */
    private String updatePerson;

    /**
     * 更新时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date updateTime;

    /**
     * 逻辑删除
     */
    private Integer isDelete;



    private DeviceExecution deviceExecution;

    @Override
    public String toString() {
        return "DevicePatrolscheme{" +
                "patrolschemeId=" + patrolschemeId +
                ", code='" + code + '\'' +
                ", patrolschemeName='" + patrolschemeName + '\'' +
                ", patrolschemeType='" + patrolschemeType + '\'' +
                ", patrolschemeDaytypeId='" + patrolschemeDaytypeId + '\'' +
                ", patrolschemeRule=" + patrolschemeRule +
                ", patrolschemeOntime=" + patrolschemeOntime +
                ", patrolschemeUntime=" + patrolschemeUntime +
                ", patrolschemeClass='" + patrolschemeClass + '\'' +
                ", patrolschemePerson='" + patrolschemePerson + '\'' +
                ", notas='" + notas + '\'' +
                ", cause='" + cause + '\'' +
                ", insertPerson='" + insertPerson + '\'' +
                ", insertTime=" + insertTime +
                ", updatePerson='" + updatePerson + '\'' +
                ", updateTime=" + updateTime +
                ", isDelete=" + isDelete +
                ", deviceExecution=" + deviceExecution +
                '}';
    }
}